package com.uestc.util;

import java.util.UUID;

public class UUIDUtil {
	public static String getUUId() {
		int machineId = 1;// 最大支持1-9个集群机器部署
		int hashCodev = UUID.randomUUID().toString().hashCode();
//		System.out.println(UUID.randomUUID().toString());
		if (hashCodev < 0) {
			// 有可能是负数
			hashCodev = -hashCodev;
		}
		// "%015d"的意思：0代表不足位数的补0，这样可以确保相同的位数，15是位数也就是要得到到的字符串长度是15，d代表数字。
		return machineId + String.format("%010d", hashCodev);
	}
	
	public static String getUUId(int length) {
		int machineId = 1;// 最大支持1-9个集群机器部署
		int hashCodev = UUID.randomUUID().toString().hashCode();
//		System.out.println(UUID.randomUUID().toString());
		if (hashCodev < 0) {
			// 有可能是负数
			hashCodev = -hashCodev;
		}
		// "%015d"的意思：0代表不足位数的补0，这样可以确保相同的位数，15是位数也就是要得到到的字符串长度是15，d代表数字。
		return machineId + String.format("%0"+(length-1)+"d", hashCodev);
	}

	public static void main(String[] args) {
		String orderNo = getUUId();
		String orderNo2 = getUUId();
		String orderNo3 = getUUId();
		System.out.println(orderNo);
		System.out.println(orderNo.length());
		System.out.println(orderNo2);
		System.out.println(orderNo3);
	}
}
